The IP Multimedia Core Network Subsystem (abbreviated as IMS) is an IP-based network architecture proposed by the 3rd Generation Partnership Project (abbreviated as 3GPP), and the system constructs an open and flexible service environment, supports multimedia applications, and is capable of providing rich multimedia services to the user.
IMS can be classified as a control layer and a service layer, wherein the control layer mainly includes a call session control function (abbreviated as CSCF) for service triggering and control, and CSCF can further be classified as proxy CSCF (abbreviated as P-CSCF), interrogating CSCF (abbreviated as I-CSCF), and serving CSCF (abbreviated as S-CSCF), wherein I-CSCF and S-CSCF are optional. The service layer mainly includes a series of application servers (abbreviated as AS) for providing specific services, and AS can be an independent entity and can also exist in the S-CSCF. The running manner thereof is as follows: the control layer (S-CSCF) controls service triggering, calls the services on the AS, and achieves the service function according to the subscription information of the user.
At the same time, there are also various gateway devices processing IMS signaling and media in the IMS network, such as P-CSCF and an access gateway (abbreviated as AGW) controlled by P-CSCF, an Interworking Border Control Function (abbreviated as I-BCF) and an Interworking Border Gateway (abbreviated as I-BGW) controlled by I-BCF, a Session Border Control (abbreviated as SBC) of combining signaling with media gateway, an Application Layer Gateway (abbreviated as ALG) and a Transmit Gateway (abbreviated as TrGW) controlled by ALG and so on, and the functions of these gateways are mainly to segment the media path so as to achieve intercommunication between different networks, such as intercommunication between a public network device and a private network device, as well as to achieve intercommunication between entities with different encoding functions by way of encoding conversion; for the sake of easy description, all the signaling gateways can be referred to as ALG, and the media gateways controlled by ALG are referred to as TrGW, and the gateway devices processing IMS signaling and media can be collectively referred to as signaling media gateway, for example, P-CSCF and AGW can be viewed as one signaling media gateway. For the sake of description, the incoming direction of a call establishment request or call update request is referred to as a near end of the media gateway, and the outgoing direction is referred to as a remote end of the media gateway.
Since the final object of a session is to achieve media connection, the media resource information needs to be negotiated in the session, and the protocol for negotiating media resource information in the IMS system is session description protocol (abbreviated as SDP), the interaction manner of the protocol is request and reply mode, i.e. one SDP request must have one SDP reply (unless rejected because an error occurs), the contents of the SDP request and reply are media resource information, which includes media owner information (including address information), media connection address, media type, media port and codec information associated with the media type and so on, and in the contents of the SDP reply, the number of media, the type and the order thereof have to be identical to those in the SDP request. The contents of the SDP protocol are carried by a message body of a session initiation protocol (SIP) message, and the interaction process is independent from the request and reply mode of SIP, that is to say, the SIP request or reply message can include a SDP request, and they can also include a SDP reply, and may also not include the SDP protocol contents.
For the sake of easy description, ALG and TrGW entities are only illustrated in the figure, and other IMS entities merely route the SIP signaling message, which does not affect the description herein.
FIG. 1A is a schematic diagram of establishing an optimized IMS media path in the related art, which describes different media paths and corresponding signaling paths between IMS user equipment UE-A and IMS user equipment UE-B.
As shown in FIG. 1A, the media path established by the existing call process is: UE1, TrGW1a, TrGW2, TrGW3, TrGW4a and UE2, and the optimized media path is: UE1, TrGW1b, TrGW5, TrGW4b, and UE2, and it can be seen that the optimized media path is shorter than the unoptimized media path by one TrGW, therefore, the optimized media path can save more resources and is more efficient. In this case, the signaling gateway ALG1 controls TrGW1a and TrGW1b, ALG2 controls TrGW2, ALG3 controls TrGW3, ALG4 controls TrGW4a and TrGW4b, and ALG5 controls TrGW5.
FIG. 1B is a flowchart of establishing an optimized IMS media path in the related art, corresponding to the schematic diagram in FIG. 1A, and it mainly includes the following steps:
in step 101, UE1 sends a SDP request to UE2 for negotiating media resource information, for example, by sending a call signaling of SIP, i.e. INVITE request, or update signaling, i.e. reINVITE request, the message body of the SIP request includes this SDP request, and the contents of the SDP request is the media resource information of UE1;
in step 102, the SDP request reaches the signaling gateway ALG1, and the signaling gateway ALG1 selects TrGW1a as a media gateway, and it controls the media gateway to use the media resource information in the SDP request and allocate media resources for connecting the remote end, and ALG1 replaces media resource information in the SDP request with the media resource information of TrGW1a for connecting the remote end, and then forwards the SDP request after having added the information associated with ALG1 and information associated with session identifier into this SDP request, for example, performing the forwarding by forwarding a SIP signaling including the SDP request;
in step 103, the SDP request reaches the signaling gateway ALG2, and the signaling gateway ALG2 selects TrGW2 as a media gateway, and it controls the media gateway to use the media resource information in the SDP request and allocate media resources for connecting the remote end, and ALG2 replaces media resource information in the SDP request with the media resource information of TrGW2 for connecting the remote end, and then forwards the SDP request after having added the information associated with ALG2 and information associated with session identifier into the SDP request, for example, performing the forwarding by forwarding a SIP signaling including the SDP request;
in step 104, the SDP request reaches the signaling gateway ALG3, and the signaling gateway ALG3 selects TrGW3 as a media gateway, and it controls the media gateway to use the media resource information in the SDP request and allocate media resources for connecting the remote end, and ALG3 replaces media resource information in the SDP request with the media resource information of TrGW3 for connecting the remote end, and then forwards the SDP request after having added the information associated with ALG3 and information associated with session identifier into the SDP request, for example, performing the forwarding by forwarding a SIP signaling including the SDP request;
in step 105, the SDP request reaches the signaling gateway ALG4, and the signaling gateway ALG4 selects TrGW4a as a media gateway, and it controls the media gateway to use the media resource information in the SDP request and allocate media resources for connecting the remote end, and ALG4 replaces media resource information in the SDP request with the media resource information of TrGW4a for connecting the remote end, and then forwards the SDP request after having added the information associated with ALG4 and information associated with session identifier into this SDP request, for example, performing the forwarding by forwarding a SIP signaling including the SDP request, and the forwarded SDP request finally reaches UE2;
in step 106, UE2 carries out negotiation by using the media resource information in the SDP request, then sends a SDP response including the media resource information of UE2, for example, sending “200 OK” reply of the SIP signaling, and the SDP response is sent by being included in the message body of the SIP reply, and the SDP response reaches ALG4;
in step 107, ALG4 judges that there is a shorter path between ALG4 and ALG1 according to the received information associated with each ALG in the path, then it sends a negotiation request message of the SIP to ALG1 so as to establish a second media path segment and carry some received information associated with ALG1, for example, sending an INVITE message without SDP request, with the target of the message being the address of ALG1, and information associated with session identifier provided by ALG1 is included, and the SIP signaling will establish one new session signaling channel;
in step 108, the negotiation request message of SIP is routed to ALG5, and ALG5 forwards the message to ALG1;
in step 109, the negotiation request message of SIP reaches ALG1, and ALG1 selects TrGW1b as a media gateway (the selection can be carried out according to information such as the incoming direction of the negotiation request message and so on) to allocate media resources for connecting the remote end, and two media negotiations are associated, and ALG1 generates a SDP request by using the media resource information for connecting the remote end of TrGW1b and sends the SDP request so as to negotiate the media resource information, for example, by sending the “200 OK” reply of the SIP signaling, and the SDP request is included in the message body of the SIP reply;
in step 110, the SDP request reaches the signaling gateway ALG5, and the signaling gateway ALG5 selects TrGW5 as a media gateway, and it controls the media gateway to use the media resource information in the SDP request and allocate media resources of TrGW5 for connecting the remote end, and ALG5 replaces media resource information in the SDP request with the media resource information for connecting the remote end of TrGW5, then forwards the SDP request, for example, performing the forwarding by forwarding a SIP signaling including the SDP request, the forwarded SDP request finally reaches ALG4;
in step 111, ALG4 decides to select a second media path segment, then it selects TrGW4b as a media gateway and controls the media gateway to use the media resource information in the SDP request and allocate media resources for connecting the remote end, and ALG4 replaces media resource information in the SDP request with the media resource information for connecting the remote end of TrGW4b, then forwards the SDP request, for example, performing the forwarding by including the SDP request in the message body of the UPDATE request of SIP signaling, the forwarded SDP request finally reaches UE2;
in step 112, UE2 receives the new SDP request, and update is carried out to use the media resource information in the SDP request, and a SDP response is sent to ALG4, and the contents of the SDP response are the media resource information of UE2, for example, by way of the “200 OK” reply of the SIP signaling, the SDP response is included in the message body of the SIP reply, and the SDP response reaches ALG4;
in step 113, ALG4 generates a SDP response by using the media resource information of TrGW4b and sends the SDP response to ALG5, for example, by sending an ACK (acknowledgement) request of the SIP signaling, and the SDP reply is included in the message body of the SIP request;
in step 114, the SDP response reaches signaling gateway ALG5, and ALG5 replaces the media resource information in the SDP response with the media resource information of TrGW5, then forwards the SDP response to ALG1, for example, performing the forwarding by forwarding a SIP signaling including the SDP response, the forwarded SDP response finally reaches ALG1, and ALG1 controls TrGW1b to use the media resource information in the SDP response;
in step 115, at the same moment with step 113, ALG4 generates a SDP response which includes invalid media resource information so as to indicate that the media gateway allocated in the original session signaling channel is released, for example, setting the port number of the media as 0 and sending the SDP response via the original session signaling channel, for example, by sending the “200 OK” reply of the SIP signaling, and the SDP response is included in the message body of the SIP reply;
in steps 116-117, the SDP response reaches ALG1 via ALG3 and ALG2 respectively, and ALG3, ALG2 and ALG1 release various media gateways allocated in the original session signaling channel, i.e. TrGW3, TrGW2, and TrGW1a; and
in step 118, ALG1 controls TrGW1b to allocate the media resource information and replaces the media resource information in the SDP response in step 117 with the media resource information, and then forwards the SDP response, for example, performing the forwarding by forwarding a SIP signaling including the SDP response, the forwarded SDP response finally reaches UE1.
So far, the optimized media path is established, and the media path is UE1, TrGW1b, TrGW5, TrGW4b and UE2.
It can be seen from the above description that the existing method for establishing an optimized media path delays the completion time of the SDP request and response in the original session signaling channel, thereby affecting the call establishment time.